package fr.afcepf.atod21.business;

import java.util.List;

import fr.afcepf.atod21.data.DaoStagiaireImpl;
import fr.afcepf.atod21.data.IDaoStagiaire;
import fr.afcepf.atod21.entity.Stagiaire;
import fr.afcepf.atod21.exception.Atod21Exception;

/**
 * Implementation Metier de l'entite {@link Stagiaire}.
 * 
 * @author Stagiaire
 */
public class BusinessStagiaireImpl implements IBusinessStagiaire {

    /**
     * Association vers la couche data.
     */
    private IDaoStagiaire daoStagiaire = new DaoStagiaireImpl();

    /**
     * pour injection.
     * 
     * @param paramDaoStagiaire
     *            the daoStagiaire to set
     */
    public void setDaoStagiaire(IDaoStagiaire paramDaoStagiaire) {
        daoStagiaire = paramDaoStagiaire;
    }

    @Override
    public Stagiaire ajouter(Stagiaire paramStagiaire) throws Atod21Exception {
        List<Stagiaire> listeStagiaire = rechercher(paramStagiaire.getNom());
        boolean stagiaireTrouve = false;
        if (listeStagiaire != null) {
            for (Stagiaire s : listeStagiaire) {
                if (s.getNom().equals(paramStagiaire.getNom())
                        && s.getPrenom().equals(paramStagiaire.getPrenom())
                        && s.getAdresse().equals(paramStagiaire.getAdresse())) {
                    stagiaireTrouve = true;
                }
            }
        }
        if (!stagiaireTrouve) {
            paramStagiaire = daoStagiaire.ajouter(paramStagiaire);
        }
        return paramStagiaire;
    }

    public BusinessStagiaireImpl() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public List<Stagiaire> rechercher(String paramNom) {
        return daoStagiaire.rechercher(paramNom);
    }

    @Override
    public List<Stagiaire> rechercher(int paramIdOrganisme) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public Stagiaire renvoi(Stagiaire paramStagiaire) throws Atod21Exception {
        // TODO Auto-generated method stub
        return null;
    }

}
